﻿using System;
using System.Collections.Generic;

namespace SGAEntidades
{
    [Serializable]
    public class PolizaSeguroInfo
    {
        private String _nroPoliza;
        private String _idTipoSeguro;
        private TipoSeguroInfo _tipoSeguro;
        private String _rucProveedor;
        private ProveedorInfo _proveedor;
        private String _asegurado;
        private String _descripcion;
        private DateTime? _fechaInicioVigencia;
        private DateTime? _fechaFinVigencia;
        private String _cobertura;
        private String _idMoneda;
        private Double? _sumaAsegurada;
        private String _idUsuarioSistema;
        private IList<PolizaSeguroDetalleInfo> _detalle;

        private DateTime? _inicioVigenciaDesde;
        private DateTime? _inicioVigenciaHasta;
        private DateTime? _finVigenciaDesde;
        private DateTime? _finVigenciaHasta;

        public PolizaSeguroInfo()
        {
        }

        public PolizaSeguroInfo(String sNroPoliza, String sIdTipoSeguro, String sRucProveedor,
                                DateTime? dInicioVigenciaDesde, DateTime? dInicioVigenciaHasta,
                                DateTime? dFinVigenciaDesde, DateTime? dFinVigenciaHasta)
        {
            _nroPoliza = sNroPoliza;
            _idTipoSeguro = sIdTipoSeguro;
            _rucProveedor = sRucProveedor;
            _inicioVigenciaDesde = dInicioVigenciaDesde;
            _inicioVigenciaHasta = dInicioVigenciaHasta;
            _finVigenciaDesde = dFinVigenciaDesde;
            _finVigenciaHasta = dFinVigenciaHasta;
        }

        public PolizaSeguroInfo(String sNroPoliza, String sIdTipoSeguro, TipoSeguroInfo oTipoSeguro, String sRucProveedor, ProveedorInfo oProveedor,
                                String sAsegurado, String sDescripcion,
                                DateTime? dFechaInicioVigencia, DateTime? dFechaFinVigencia, String sCobertura,
                                String sIdMoneda, Double? nSumaAsegurada, String sIdUsuarioSistema, IList<PolizaSeguroDetalleInfo> oDetalle )
        {
            _nroPoliza = sNroPoliza;
            _idTipoSeguro = sIdTipoSeguro;
            _tipoSeguro = oTipoSeguro;
            _rucProveedor = sRucProveedor;
            _proveedor = oProveedor;
            _asegurado = sAsegurado;
            _descripcion = sDescripcion;
            _fechaInicioVigencia = dFechaInicioVigencia;
            _fechaFinVigencia = dFechaFinVigencia;
            _cobertura = sCobertura;
            _idMoneda = sIdMoneda;
            _sumaAsegurada = nSumaAsegurada;
            _idUsuarioSistema = sIdUsuarioSistema;
            _detalle = oDetalle;
        }

        public string NroPoliza
        {
            get { return _nroPoliza; }
            set { _nroPoliza = value; }
        }

        public string IdTipoSeguro
        {
            get { return _idTipoSeguro; }
            set { _idTipoSeguro = value; }
        }

        public TipoSeguroInfo TipoSeguro
        {
            get { return _tipoSeguro; }
            set { _tipoSeguro = value; }
        }

        public string RucProveedor
        {
            get { return _rucProveedor; }
            set { _rucProveedor = value; }
        }

        public ProveedorInfo Proveedor
        {
            get { return _proveedor; }
            set { _proveedor = value; }
        }

        public string Asegurado
        {
            get { return _asegurado; }
            set { _asegurado = value; }
        }

        public string Descripcion
        {
            get { return _descripcion; }
            set { _descripcion = value; }
        }

        public DateTime? FechaInicioVigencia
        {
            get { return _fechaInicioVigencia; }
            set { _fechaInicioVigencia = value; }
        }

        public DateTime? FechaFinVigencia
        {
            get { return _fechaFinVigencia; }
            set { _fechaFinVigencia = value; }
        }

        public string Cobertura
        {
            get { return _cobertura; }
            set { _cobertura = value; }
        }

        public string IdMoneda
        {
            get { return _idMoneda; }
            set { _idMoneda = value; }
        }

        public double? SumaAsegurada
        {
            get { return _sumaAsegurada; }
            set { _sumaAsegurada = value; }
        }

        public string IdUsuarioSistema
        {
            get { return _idUsuarioSistema; }
            set { _idUsuarioSistema = value; }
        }

        public DateTime? InicioVigenciaDesde
        {
            get { return _inicioVigenciaDesde; }
            set { _inicioVigenciaDesde = value; }
        }

        public DateTime? InicioVigenciaHasta
        {
            get { return _inicioVigenciaHasta; }
            set { _inicioVigenciaHasta = value; }
        }

        public DateTime? FinVigenciaDesde
        {
            get { return _finVigenciaDesde; }
            set { _finVigenciaDesde = value; }
        }

        public DateTime? FinVigenciaHasta
        {
            get { return _finVigenciaHasta; }
            set { _finVigenciaHasta = value; }
        }

        public IList<PolizaSeguroDetalleInfo> Detalle
        {
            get { return _detalle; }
            set { _detalle = value; }
        }
    }
}
